﻿using ByBikeShop.Site;
using PersistenceLayer.DAL;
using PersistenceLayer.Model;
using SupportLayer.Constantes;
using SupportLayer.Enums;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Uol.PagSeguro.Domain;
using Uol.PagSeguro.Service;

namespace ByBikeShop.Cliente.Pages
{
	public partial class SucessoCompra : BasePage
	{
		Administracao.UCs.Mensagem.mensagens ucMensagem;
		private string CodigoTransacao
		{
			get
			{
				try
				{
					if ((Request.QueryString["transaction_id"] == null) || (Request.QueryString["transaction_id"].ToString() == ""))
						return "";

					return Request.QueryString["transaction_id"].ToString();
				}
				catch
				{
					return "";
				}
			}
		}

		protected void Page_Load(object sender, EventArgs e)
		{
			try
			{
				if (CodigoTransacao == "")
					throw new ApplicationException("Houve um erro na recuperação da sua compra! Aguarde, entraremos em contato!");

				Transaction t = TransactionSearchService.SearchByCode(credentials, "7a94c0e3-befd-43f4-a2ac-8c181b5e4ce6", true);

				lbl.Text = t.Charge + " - " + t.Code + " - " + t.Date + " - " + t.ExtraAmount + " - " + t.FeeAmount + " - ";
				
				Pedidos p = new PedidoDAL().ObterPorCodigo(CodigoTransacao);
				new PedidoDAL().Atualizar(p);
			}
			catch (Exception ex)
			{
				string mensagem = "";

				if (ex.Message.Contains("inner exception"))
					if (ex.InnerException.Message.Contains("inner exception"))
						mensagem = ex.InnerException.InnerException.Message;
					else
						mensagem = ex.InnerException.Message;
				else
					mensagem = ex.Message;

				ucMensagem = (Administracao.UCs.Mensagem.mensagens)LoadControl(ResolveUrl("/Administracao/UCs/Mensagem/mensagens.ascx"));
				ucMensagem.TipoMensagem = TiposMensagens.Erro;
				ucMensagem.Mensagem = mensagem;
				placeMensagem.Controls.Add(ucMensagem);
			}
		}

		public override void CarregaDados()
		{
		}
	}
}